 
package com.xbongbong.sys.model;

import com.xbongbong.paas.toolbox.wrap.IModel;
import com.xbongbong.sys.domain.entity.ProPermissionEntity;

import java.util.Collection;
import java.util.List;
import java.util.Map;


/**
* @author autoGen
* @time 2019-03-09 17:16:36
*/
public interface ProPermissionModel extends IModel<ProPermissionEntity> {

	/**
	 * 新建权限，目前没有使用
	 * @param entity 实体
	 * @return 影响的记录数
	 */
	@Override
	Integer insert(ProPermissionEntity entity);

	/**
	 * 更新权限实体，目前没有使用
	 * @param entity 实体
	 * @return 影响的记录数
	 */
	@Override
	Integer update(ProPermissionEntity entity);

	/**
	 * 通过权限id获取权限
	 * @param key 权限id
	 * @return 返回id对应的权限实体
	 */
	ProPermissionEntity getByKey(Integer key);

	/**
	 * 通过alias获取proPermissionEntity实体
	 * @param alias 权限alias
	 * @return 返回对应的权限实体
	 */
	ProPermissionEntity getByAlias(String alias);

	/**
	 * 返回符合查询条件的权限列表
	 * @param param 查询条件
	 * @return 符合条件的权限列表
	 */
	@Override
	List<ProPermissionEntity> findEntitys(Map<String ,Object> param);

	/**
	 * 返回符合查询条件的权限数量
	 * @param param 查询条件
	 * @return 符合查询条件的权限数量
	 */
	@Override
	Integer getEntitysCount(Map<String ,Object>  param);

	/**
	 * 获取符合条件的proPermissionId列表
	 * @param param 查询条件
	 * @return 符合条件的proPermissionId列表
	 */
	List<Integer> findEntityIds(Map<String, Object> param);

	/**
	 * 通过实体idIn参数获取权限alias列表
	 * @param idIn 需要查询的权限id列表
	 * @return idIn对应的权限alias列表
	 */
	List<String> getByIdIn(Collection<Integer> idIn);

    void updateBatch(List<ProPermissionEntity> proPermissionEntityList);

    void updateName(Integer id, String name);
}

 